{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 460,
   "id": "2b990d5b-073d-48bf-a45c-4b1320600283",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "matplotlib.rcParams['font.family'] = 'Simhei'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e603273-0647-49df-ac7d-42bf7fca8dc1",
   "metadata": {},
   "source": [
    "# 一、读取文件"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bcf58c94-438f-445c-9eec-f886af05f68d",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 1.发货记录"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ce311432-9be4-415b-a6c0-c37821b4baac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>ddap_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zdxx_id</th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>fhdxx_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>jz</th>\n",
       "      <th>dzdw</th>\n",
       "      <th>dj</th>\n",
       "      <th>hk</th>\n",
       "      <th>clxx_id</th>\n",
       "      <th>create_time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2509</td>\n",
       "      <td>3624</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>1978</td>\n",
       "      <td>103</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>8</td>\n",
       "      <td>38.38</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7944.66</td>\n",
       "      <td>314</td>\n",
       "      <td>2022-07-21 07:10:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2510</td>\n",
       "      <td>3637</td>\n",
       "      <td>107</td>\n",
       "      <td>93</td>\n",
       "      <td>1981</td>\n",
       "      <td>124</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>45.56</td>\n",
       "      <td>0.0</td>\n",
       "      <td>340.0</td>\n",
       "      <td>15490.40</td>\n",
       "      <td>241</td>\n",
       "      <td>2022-07-21 07:19:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2514</td>\n",
       "      <td>3638</td>\n",
       "      <td>152</td>\n",
       "      <td>191</td>\n",
       "      <td>1986</td>\n",
       "      <td>121</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>43.84</td>\n",
       "      <td>0.0</td>\n",
       "      <td>320.0</td>\n",
       "      <td>14028.80</td>\n",
       "      <td>276</td>\n",
       "      <td>2022-07-21 10:49:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2515</td>\n",
       "      <td>3639</td>\n",
       "      <td>152</td>\n",
       "      <td>191</td>\n",
       "      <td>1986</td>\n",
       "      <td>121</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>52.20</td>\n",
       "      <td>0.0</td>\n",
       "      <td>320.0</td>\n",
       "      <td>16704.00</td>\n",
       "      <td>257</td>\n",
       "      <td>2022-07-21 10:49:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2516</td>\n",
       "      <td>3666</td>\n",
       "      <td>139</td>\n",
       "      <td>141</td>\n",
       "      <td>1998</td>\n",
       "      <td>104</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>32.32</td>\n",
       "      <td>0.0</td>\n",
       "      <td>292.0</td>\n",
       "      <td>9437.44</td>\n",
       "      <td>163</td>\n",
       "      <td>2022-07-21 11:23:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49870</th>\n",
       "      <td>60712</td>\n",
       "      <td>62734</td>\n",
       "      <td>461</td>\n",
       "      <td>744</td>\n",
       "      <td>32869</td>\n",
       "      <td>104</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>36.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>1800.00</td>\n",
       "      <td>1345</td>\n",
       "      <td>2024-06-24 13:28:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49871</th>\n",
       "      <td>60713</td>\n",
       "      <td>62747</td>\n",
       "      <td>609</td>\n",
       "      <td>1145</td>\n",
       "      <td>32886</td>\n",
       "      <td>105</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>41.16</td>\n",
       "      <td>0.0</td>\n",
       "      <td>155.0</td>\n",
       "      <td>6379.80</td>\n",
       "      <td>106</td>\n",
       "      <td>2024-06-24 14:08:54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49872</th>\n",
       "      <td>60714</td>\n",
       "      <td>62748</td>\n",
       "      <td>103</td>\n",
       "      <td>87</td>\n",
       "      <td>32893</td>\n",
       "      <td>104</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>34.60</td>\n",
       "      <td>0.0</td>\n",
       "      <td>155.0</td>\n",
       "      <td>5363.00</td>\n",
       "      <td>226</td>\n",
       "      <td>2024-06-24 14:09:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49873</th>\n",
       "      <td>60715</td>\n",
       "      <td>62745</td>\n",
       "      <td>201</td>\n",
       "      <td>892</td>\n",
       "      <td>32890</td>\n",
       "      <td>104</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>40.64</td>\n",
       "      <td>0.0</td>\n",
       "      <td>170.0</td>\n",
       "      <td>6908.80</td>\n",
       "      <td>125</td>\n",
       "      <td>2024-06-24 14:40:16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49874</th>\n",
       "      <td>60716</td>\n",
       "      <td>62744</td>\n",
       "      <td>388</td>\n",
       "      <td>1278</td>\n",
       "      <td>32911</td>\n",
       "      <td>105</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>35.68</td>\n",
       "      <td>0.0</td>\n",
       "      <td>150.0</td>\n",
       "      <td>5352.00</td>\n",
       "      <td>766</td>\n",
       "      <td>2024-06-24 15:07:41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>49875 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  ddap_id  khxx_id  zdxx_id  khxd_id  fhdxx_id  hplx  cpgg  cppp  \\\n",
       "0       2509     3624      218      319     1978       103     1     1     8   \n",
       "1       2510     3637      107       93     1981       124     0     0     0   \n",
       "2       2514     3638      152      191     1986       121     0     0     0   \n",
       "3       2515     3639      152      191     1986       121     0     0     0   \n",
       "4       2516     3666      139      141     1998       104     1     1     9   \n",
       "...      ...      ...      ...      ...      ...       ...   ...   ...   ...   \n",
       "49870  60712    62734      461      744    32869       104     1     1     9   \n",
       "49871  60713    62747      609     1145    32886       105     1     1     9   \n",
       "49872  60714    62748      103       87    32893       104     1     1     9   \n",
       "49873  60715    62745      201      892    32890       104     1     1     9   \n",
       "49874  60716    62744      388     1278    32911       105     1     1     9   \n",
       "\n",
       "          jz  dzdw     dj        hk  clxx_id          create_time  \n",
       "0      38.38   0.0  207.0   7944.66      314  2022-07-21 07:10:48  \n",
       "1      45.56   0.0  340.0  15490.40      241  2022-07-21 07:19:48  \n",
       "2      43.84   0.0  320.0  14028.80      276  2022-07-21 10:49:34  \n",
       "3      52.20   0.0  320.0  16704.00      257  2022-07-21 10:49:35  \n",
       "4      32.32   0.0  292.0   9437.44      163  2022-07-21 11:23:31  \n",
       "...      ...   ...    ...       ...      ...                  ...  \n",
       "49870  36.00   0.0   50.0   1800.00     1345  2024-06-24 13:28:49  \n",
       "49871  41.16   0.0  155.0   6379.80      106  2024-06-24 14:08:54  \n",
       "49872  34.60   0.0  155.0   5363.00      226  2024-06-24 14:09:20  \n",
       "49873  40.64   0.0  170.0   6908.80      125  2024-06-24 14:40:16  \n",
       "49874  35.68   0.0  150.0   5352.00      766  2024-06-24 15:07:41  \n",
       "\n",
       "[49875 rows x 15 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fhjl = pd.read_csv(r\"ERP_FHJL.csv\",\n",
    "                   #index_col 设置索引列\n",
    "                   header = 0)  \n",
    "fhjl"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08679085-62a6-4fc3-b2e0-781d82da1451",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 2.客户下单"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "id": "4c48582b-a9ad-44b5-a800-41f907f28a0d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>hyfs</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>dzsj</th>\n",
       "      <th>create_by</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>79</td>\n",
       "      <td>37</td>\n",
       "      <td>46</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>100.00</td>\n",
       "      <td>1</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>2022-06-13 15:59:10</td>\n",
       "      <td>xssb</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>100.00</td>\n",
       "      <td>1</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>2022-06-29 05:46:42</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>865</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>200.00</td>\n",
       "      <td>1</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>2022-07-01 04:30:19</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>928</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>200.00</td>\n",
       "      <td>1</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>2022-07-02 10:46:07</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>958</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>150.00</td>\n",
       "      <td>1</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>2022-07-03 04:27:59</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27948</th>\n",
       "      <td>32911</td>\n",
       "      <td>388</td>\n",
       "      <td>1278</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>35.00</td>\n",
       "      <td>0</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>2024-06-24 08:05:00</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27949</th>\n",
       "      <td>32912</td>\n",
       "      <td>636</td>\n",
       "      <td>1211</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>35.00</td>\n",
       "      <td>0</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>2024-06-24 08:05:00</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27950</th>\n",
       "      <td>32913</td>\n",
       "      <td>497</td>\n",
       "      <td>1274</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>42.36</td>\n",
       "      <td>0</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>2024-06-05 08:05:00</td>\n",
       "      <td>chediao</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27951</th>\n",
       "      <td>32914</td>\n",
       "      <td>479</td>\n",
       "      <td>793</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>30.00</td>\n",
       "      <td>0</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>2024-06-24 08:05:00</td>\n",
       "      <td>DS0402003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27952</th>\n",
       "      <td>32915</td>\n",
       "      <td>546</td>\n",
       "      <td>979</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>30.00</td>\n",
       "      <td>0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>105</td>\n",
       "      <td>2024-06-25 08:05:00</td>\n",
       "      <td>DS0403000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>27953 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  khxx_id  zd_id  hplx  cpgg  cppp    fhdw  hyfs      ywlx_code  \\\n",
       "0         79       37     46     0     0     0  100.00     1  配送 (贸易+起驳+运输)   \n",
       "1        745      141    276     0     0     0  100.00     1  配送 (贸易+起驳+运输)   \n",
       "2        865      141    276     0     0     0  200.00     1  配送 (贸易+起驳+运输)   \n",
       "3        928      141    276     0     0     0  200.00     1  配送 (贸易+起驳+运输)   \n",
       "4        958      141    276     0     0     0  150.00     1  配送 (贸易+起驳+运输)   \n",
       "...      ...      ...    ...   ...   ...   ...     ...   ...            ...   \n",
       "27948  32911      388   1278     1     1     9   35.00     0        自提 (贸易)   \n",
       "27949  32912      636   1211     1     1     9   35.00     0        自提 (贸易)   \n",
       "27950  32913      497   1274     1     1     9   42.36     0        自提 (贸易)   \n",
       "27951  32914      479    793     1     1     9   30.00     0        自提 (贸易)   \n",
       "27952  32915      546    979     1     1     9   30.00     0     配送 (贸易+运输)   \n",
       "\n",
       "       fhd_id                 dzsj  create_by  \n",
       "0         121  2022-06-13 15:59:10       xssb  \n",
       "1         121  2022-06-29 05:46:42  DS0403001  \n",
       "2         121  2022-07-01 04:30:19  DS0403001  \n",
       "3         121  2022-07-02 10:46:07  DS0403001  \n",
       "4         121  2022-07-03 04:27:59  DS0403001  \n",
       "...       ...                  ...        ...  \n",
       "27948     104  2024-06-24 08:05:00  DS0403003  \n",
       "27949     104  2024-06-24 08:05:00  DS0403003  \n",
       "27950     104  2024-06-05 08:05:00    chediao  \n",
       "27951     104  2024-06-24 08:05:00  DS0402003  \n",
       "27952     105  2024-06-25 08:05:00  DS0403000  \n",
       "\n",
       "[27953 rows x 12 columns]"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxd = pd.read_csv(\"ERP_KHXD.csv\",\n",
    "              header = 0)\n",
    "khxd"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "83ccc3bc-d9e6-432d-97a7-228a9112a4e2",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 3.用户信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "9bbafc71-1b49-4af8-801b-528435d42bff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>nick_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>admin</td>\n",
       "      <td>系统管理员1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>dsadmin</td>\n",
       "      <td>管理员</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>zhangsan</td>\n",
       "      <td>张三</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7</td>\n",
       "      <td>testuser</td>\n",
       "      <td>testuser</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>8</td>\n",
       "      <td>xs01</td>\n",
       "      <td>销售一</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145</th>\n",
       "      <td>149</td>\n",
       "      <td>DS02005</td>\n",
       "      <td>袁义平</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>150</td>\n",
       "      <td>JCHS</td>\n",
       "      <td>荆楚宏盛</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>147</th>\n",
       "      <td>151</td>\n",
       "      <td>DS06004</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>152</td>\n",
       "      <td>测试客服</td>\n",
       "      <td>测试客服</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>154</td>\n",
       "      <td>testkf</td>\n",
       "      <td>testkf</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>150 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     user_id user_name nick_name\n",
       "0          1     admin    系统管理员1\n",
       "1          4   dsadmin       管理员\n",
       "2          5  zhangsan        张三\n",
       "3          7  testuser  testuser\n",
       "4          8      xs01       销售一\n",
       "..       ...       ...       ...\n",
       "145      149   DS02005       袁义平\n",
       "146      150      JCHS      荆楚宏盛\n",
       "147      151   DS06004         高\n",
       "148      152      测试客服      测试客服\n",
       "149      154    testkf    testkf\n",
       "\n",
       "[150 rows x 3 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user = pd.read_csv(\"sys_user.csv\",\n",
    "              header = 0)\n",
    "user"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2442c9f7-7a1a-4e14-89ae-afe0bb19994a",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 4.客户信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "fd098021-98cd-47e5-af61-1ab5d501d2a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>khmc</th>\n",
       "      <th>user_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16</td>\n",
       "      <td>测试一下</td>\n",
       "      <td>DS04001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18</td>\n",
       "      <td>武汉中村</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20</td>\n",
       "      <td>武汉昊恒(水泥)</td>\n",
       "      <td>DS0406000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>21</td>\n",
       "      <td>华安水泥(君善建)</td>\n",
       "      <td>DS0406000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23</td>\n",
       "      <td>合力久盛(现金)</td>\n",
       "      <td>DS0404001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>532</th>\n",
       "      <td>646</td>\n",
       "      <td>新中环</td>\n",
       "      <td>DS0403000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>533</th>\n",
       "      <td>647</td>\n",
       "      <td>湖北联发水泥厂</td>\n",
       "      <td>DS0501003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>534</th>\n",
       "      <td>648</td>\n",
       "      <td>武汉宏新途远商贸有限公司</td>\n",
       "      <td>DS0405003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>535</th>\n",
       "      <td>649</td>\n",
       "      <td>慧迪（授信）</td>\n",
       "      <td>DS0401002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>536</th>\n",
       "      <td>650</td>\n",
       "      <td>华安水泥东湖分公司</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>537 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      id          khmc  user_name\n",
       "0     16          测试一下    DS04001\n",
       "1     18          武汉中村  DS0403003\n",
       "2     20      武汉昊恒(水泥)  DS0406000\n",
       "3     21     华安水泥(君善建)  DS0406000\n",
       "4     23      合力久盛(现金)  DS0404001\n",
       "..   ...           ...        ...\n",
       "532  646           新中环  DS0403000\n",
       "533  647       湖北联发水泥厂  DS0501003\n",
       "534  648  武汉宏新途远商贸有限公司  DS0405003\n",
       "535  649        慧迪（授信）  DS0401002\n",
       "536  650     华安水泥东湖分公司  DS0403003\n",
       "\n",
       "[537 rows x 3 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxx = pd.read_csv(\"ERP_KHXX.csv\",\n",
    "                  header = 0)\n",
    "khxx"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a252898a-2057-4857-b9e2-9ff4163c5552",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 5.字典"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "0348e5ee-013c-4276-8ec9-7f8e7ca16182",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>dict_type</th>\n",
       "      <th>dict_value</th>\n",
       "      <th>dict_label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>sys_user_sex</td>\n",
       "      <td>0</td>\n",
       "      <td>男</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>sys_user_sex</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>sys_user_sex</td>\n",
       "      <td>2</td>\n",
       "      <td>未知</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>sys_show_hide</td>\n",
       "      <td>0</td>\n",
       "      <td>显示</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>sys_show_hide</td>\n",
       "      <td>1</td>\n",
       "      <td>隐藏</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>261</th>\n",
       "      <td>745</td>\n",
       "      <td>ERP_CPGG</td>\n",
       "      <td>0</td>\n",
       "      <td>P.O42.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>262</th>\n",
       "      <td>746</td>\n",
       "      <td>ERP_CPGG</td>\n",
       "      <td>1</td>\n",
       "      <td>S95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>263</th>\n",
       "      <td>747</td>\n",
       "      <td>ERP_CPGG</td>\n",
       "      <td>2</td>\n",
       "      <td>V800(袋装)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>264</th>\n",
       "      <td>748</td>\n",
       "      <td>ERP_CPGG</td>\n",
       "      <td>3</td>\n",
       "      <td>V800(散装)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>265</th>\n",
       "      <td>749</td>\n",
       "      <td>ERP_CPGG</td>\n",
       "      <td>4</td>\n",
       "      <td>PO52.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>266 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      id      dict_type dict_value dict_label\n",
       "0      1   sys_user_sex          0          男\n",
       "1      2   sys_user_sex          1          女\n",
       "2      3   sys_user_sex          2         未知\n",
       "3      4  sys_show_hide          0         显示\n",
       "4      5  sys_show_hide          1         隐藏\n",
       "..   ...            ...        ...        ...\n",
       "261  745       ERP_CPGG          0    P.O42.5\n",
       "262  746       ERP_CPGG          1        S95\n",
       "263  747       ERP_CPGG          2   V800(袋装)\n",
       "264  748       ERP_CPGG          3   V800(散装)\n",
       "265  749       ERP_CPGG          4     PO52.5\n",
       "\n",
       "[266 rows x 4 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dic = pd.read_csv(\"sys_dict_data.csv\",\n",
    "                 header = 0)\n",
    "dic"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7425ab98-620f-489d-9f09-90ac49c4af90",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 6.车辆信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "a62f4b0b-bcd3-4039-8f3d-54ce8ec79259",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>cph</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1827</td>\n",
       "      <td>\\t 鄂AJC558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1802</td>\n",
       "      <td>鄂AKX820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1803</td>\n",
       "      <td>鄂AKX820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1755</td>\n",
       "      <td>鄂AUL326</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1352</td>\n",
       "      <td>.鄂AAL515</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006</th>\n",
       "      <td>1093</td>\n",
       "      <td>鄂S765A2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2007</th>\n",
       "      <td>492</td>\n",
       "      <td>鄂S769A6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008</th>\n",
       "      <td>1091</td>\n",
       "      <td>鄂S827A0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009</th>\n",
       "      <td>1442</td>\n",
       "      <td>鄂SE3272</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010</th>\n",
       "      <td>1740</td>\n",
       "      <td>，鄂ANJ829</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2011 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        id         cph\n",
       "0     1827  \\t 鄂AJC558\n",
       "1     1802     鄂AKX820\n",
       "2     1803     鄂AKX820\n",
       "3     1755     鄂AUL326\n",
       "4     1352    .鄂AAL515\n",
       "...    ...         ...\n",
       "2006  1093     鄂S765A2\n",
       "2007   492     鄂S769A6\n",
       "2008  1091     鄂S827A0\n",
       "2009  1442     鄂SE3272\n",
       "2010  1740    ，鄂ANJ829\n",
       "\n",
       "[2011 rows x 2 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clxx = pd.read_csv(\"ERP_clxx.CSV\",\n",
    "                  header = 0)\n",
    "clxx"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a15a8f73-67be-4216-9379-2c263d7adca3",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "# 二、数据预处理（去除一些表格中的无用信息）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 221,
   "id": "fe14d1e9-4b46-4124-9bf7-2f0abc3c8c4b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>user_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>79</td>\n",
       "      <td>37</td>\n",
       "      <td>46</td>\n",
       "      <td>100.00</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>xssb</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.00</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>865</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.00</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>928</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.00</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>958</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>150.00</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27948</th>\n",
       "      <td>32911</td>\n",
       "      <td>388</td>\n",
       "      <td>1278</td>\n",
       "      <td>35.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27949</th>\n",
       "      <td>32912</td>\n",
       "      <td>636</td>\n",
       "      <td>1211</td>\n",
       "      <td>35.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27950</th>\n",
       "      <td>32913</td>\n",
       "      <td>497</td>\n",
       "      <td>1274</td>\n",
       "      <td>42.36</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>chediao</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27951</th>\n",
       "      <td>32914</td>\n",
       "      <td>479</td>\n",
       "      <td>793</td>\n",
       "      <td>30.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0402003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27952</th>\n",
       "      <td>32915</td>\n",
       "      <td>546</td>\n",
       "      <td>979</td>\n",
       "      <td>30.00</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>105</td>\n",
       "      <td>DS0403000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>27953 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       khxd_id  khxx_id  zd_id    fhdw      ywlx_code  fhd_id  user_name\n",
       "0           79       37     46  100.00  配送 (贸易+起驳+运输)     121       xssb\n",
       "1          745      141    276  100.00  配送 (贸易+起驳+运输)     121  DS0403001\n",
       "2          865      141    276  200.00  配送 (贸易+起驳+运输)     121  DS0403001\n",
       "3          928      141    276  200.00  配送 (贸易+起驳+运输)     121  DS0403001\n",
       "4          958      141    276  150.00  配送 (贸易+起驳+运输)     121  DS0403001\n",
       "...        ...      ...    ...     ...            ...     ...        ...\n",
       "27948    32911      388   1278   35.00        自提 (贸易)     104  DS0403003\n",
       "27949    32912      636   1211   35.00        自提 (贸易)     104  DS0403003\n",
       "27950    32913      497   1274   42.36        自提 (贸易)     104    chediao\n",
       "27951    32914      479    793   30.00        自提 (贸易)     104  DS0402003\n",
       "27952    32915      546    979   30.00     配送 (贸易+运输)     105  DS0403000\n",
       "\n",
       "[27953 rows x 7 columns]"
      ]
     },
     "execution_count": 221,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fhjl_0 = fhjl.drop('ddap_id',axis = 1)\n",
    "khxd_0 = khxd.drop('hplx',axis = 1)\n",
    "khxd_0 = khxd_0.drop('cpgg',axis = 1)\n",
    "khxd_0 = khxd_0.drop('cppp',axis = 1)\n",
    "khxd_0 = khxd_0.drop('hyfs',axis = 1)\n",
    "khxd_0 = khxd_0.drop('dzsj',axis = 1)\n",
    "khxd_0.columns = ['khxd_id','khxx_id','zd_id','fhdw','ywlx_code','fhd_id','user_name']\n",
    "khxd_0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2ecc48a4-3afd-4cd6-a952-229836e1ec1b",
   "metadata": {},
   "source": [
    "# 三、关联表格"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c1a70bd-85f0-4955-a1e8-4f0795a31032",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 1.客户信息&用户信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "f7e4db83-dd27-49bf-87eb-9407e797803f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>khmc</th>\n",
       "      <th>user_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16</td>\n",
       "      <td>测试一下</td>\n",
       "      <td>DS04001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18</td>\n",
       "      <td>武汉中村</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20</td>\n",
       "      <td>武汉昊恒(水泥)</td>\n",
       "      <td>DS0406000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>21</td>\n",
       "      <td>华安水泥(君善建)</td>\n",
       "      <td>DS0406000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23</td>\n",
       "      <td>合力久盛(现金)</td>\n",
       "      <td>DS0404001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>532</th>\n",
       "      <td>646</td>\n",
       "      <td>新中环</td>\n",
       "      <td>DS0403000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>533</th>\n",
       "      <td>647</td>\n",
       "      <td>湖北联发水泥厂</td>\n",
       "      <td>DS0501003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>534</th>\n",
       "      <td>648</td>\n",
       "      <td>武汉宏新途远商贸有限公司</td>\n",
       "      <td>DS0405003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>535</th>\n",
       "      <td>649</td>\n",
       "      <td>慧迪（授信）</td>\n",
       "      <td>DS0401002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>536</th>\n",
       "      <td>650</td>\n",
       "      <td>华安水泥东湖分公司</td>\n",
       "      <td>DS0403003</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>537 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      id          khmc  user_name\n",
       "0     16          测试一下    DS04001\n",
       "1     18          武汉中村  DS0403003\n",
       "2     20      武汉昊恒(水泥)  DS0406000\n",
       "3     21     华安水泥(君善建)  DS0406000\n",
       "4     23      合力久盛(现金)  DS0404001\n",
       "..   ...           ...        ...\n",
       "532  646           新中环  DS0403000\n",
       "533  647       湖北联发水泥厂  DS0501003\n",
       "534  648  武汉宏新途远商贸有限公司  DS0405003\n",
       "535  649        慧迪（授信）  DS0401002\n",
       "536  650     华安水泥东湖分公司  DS0403003\n",
       "\n",
       "[537 rows x 3 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "8e28e5ff-3d17-4de1-a294-0962482c3133",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>nick_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>admin</td>\n",
       "      <td>系统管理员1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>dsadmin</td>\n",
       "      <td>管理员</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>zhangsan</td>\n",
       "      <td>张三</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7</td>\n",
       "      <td>testuser</td>\n",
       "      <td>testuser</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>8</td>\n",
       "      <td>xs01</td>\n",
       "      <td>销售一</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145</th>\n",
       "      <td>149</td>\n",
       "      <td>DS02005</td>\n",
       "      <td>袁义平</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>150</td>\n",
       "      <td>JCHS</td>\n",
       "      <td>荆楚宏盛</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>147</th>\n",
       "      <td>151</td>\n",
       "      <td>DS06004</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>152</td>\n",
       "      <td>测试客服</td>\n",
       "      <td>测试客服</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>154</td>\n",
       "      <td>testkf</td>\n",
       "      <td>testkf</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>150 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     user_id user_name nick_name\n",
       "0          1     admin    系统管理员1\n",
       "1          4   dsadmin       管理员\n",
       "2          5  zhangsan        张三\n",
       "3          7  testuser  testuser\n",
       "4          8      xs01       销售一\n",
       "..       ...       ...       ...\n",
       "145      149   DS02005       袁义平\n",
       "146      150      JCHS      荆楚宏盛\n",
       "147      151   DS06004         高\n",
       "148      152      测试客服      测试客服\n",
       "149      154    testkf    testkf\n",
       "\n",
       "[150 rows x 3 columns]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "id": "749a67a9-4dcd-4f86-8531-c9c8052663c7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>khmc</th>\n",
       "      <th>user_name</th>\n",
       "      <th>sales_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>测试一下</td>\n",
       "      <td>DS04001</td>\n",
       "      <td>公司业务员</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>武汉中村</td>\n",
       "      <td>DS0403003</td>\n",
       "      <td>史丹</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>武汉福俊</td>\n",
       "      <td>DS0403003</td>\n",
       "      <td>史丹</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>亿新成</td>\n",
       "      <td>DS0403003</td>\n",
       "      <td>史丹</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>天固建设</td>\n",
       "      <td>DS0403003</td>\n",
       "      <td>史丹</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>532</th>\n",
       "      <td>荆楚宏盛（换货）</td>\n",
       "      <td>JCHS</td>\n",
       "      <td>荆楚宏盛</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>533</th>\n",
       "      <td>鑫超强</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>534</th>\n",
       "      <td>唐俊吉</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>535</th>\n",
       "      <td>湖北志森</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>536</th>\n",
       "      <td>湖北联发水泥厂</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>537 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         khmc  user_name sales_name\n",
       "0        测试一下    DS04001      公司业务员\n",
       "1        武汉中村  DS0403003         史丹\n",
       "2        武汉福俊  DS0403003         史丹\n",
       "3         亿新成  DS0403003         史丹\n",
       "4        天固建设  DS0403003         史丹\n",
       "..        ...        ...        ...\n",
       "532  荆楚宏盛（换货）       JCHS       荆楚宏盛\n",
       "533       鑫超强  DS0501003        李雨舟\n",
       "534       唐俊吉  DS0501003        李雨舟\n",
       "535      湖北志森  DS0501003        李雨舟\n",
       "536   湖北联发水泥厂  DS0501003        李雨舟\n",
       "\n",
       "[537 rows x 3 columns]"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxx_user = pd.merge(khxx,user,on = 'user_name')\n",
    "khxx_user = khxx_user.drop('id',axis = 1)\n",
    "khxx_user = khxx_user.drop('user_id',axis = 1)\n",
    "khxx_user.columns = ['khmc','user_name','sales_name']\n",
    "khxx_user"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f4432a7-9c53-4b65-b45c-d315362aecc0",
   "metadata": {},
   "source": [
    "## 2.字典&发货记录"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e6e8657-2397-4f18-a413-518541dc6e8e",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "### 筛选、拆分、生成字典"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "d5a9659a-59f6-4bc5-a41f-8547e9ea4f2c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: '水泥', 1: '矿粉'}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#货品类型\n",
    "dic_HPLX = dic[dic['dict_type'] == 'ERP_HPLX']\n",
    "dic_HPLX\n",
    "#根据该表生成字典{值：标签}\n",
    "dic_hplx = dict(zip(dic_HPLX['dict_value'], dic_HPLX['dict_label']))\n",
    "dict_hplx = {}\n",
    "for key, value in dic_hplx.items():\n",
    "    dict_hplx[int(key)] = value\n",
    "dict_hplx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "a89dcb6c-db68-4a49-b8c2-34769cb75026",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: 'P.O42.5', 1: 'S95', 2: 'V800(袋装)', 3: 'V800(散装)', 4: 'PO52.5'}"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#产品规格\n",
    "dic_CPGG = dic[dic['dict_type'] == 'ERP_CPGG']\n",
    "dic_CPGG\n",
    "#根据该表生成字典{值：标签}\n",
    "dic_cpgg = dict(zip(dic_CPGG['dict_value'], dic_CPGG['dict_label']))\n",
    "dict_cpgg = {}\n",
    "for key, value in dic_cpgg.items():\n",
    "    dict_cpgg[int(key)] = value\n",
    "dict_cpgg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "b79f6aa2-3d72-4a55-8f4c-3cf0ffaac56c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: '海螺水泥',\n",
       " 1: '东方希望水泥',\n",
       " 2: '三峡水泥',\n",
       " 3: '京兰水泥',\n",
       " 4: '四棵松水泥',\n",
       " 5: '娲石水泥',\n",
       " 6: '福兴水泥',\n",
       " 7: '华新水泥',\n",
       " 8: '金盛兰矿粉',\n",
       " 9: '武新矿粉',\n",
       " 10: '鑫缘矿粉',\n",
       " 11: '钢华矿粉',\n",
       " 12: '嘉华矿粉'}"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#产品品牌\n",
    "dic_CPPP = dic[dic['dict_type'] == 'ERP_CPPP']\n",
    "dic_CPPP\n",
    "#根据该表生成字典{值：标签}\n",
    "dic_cppp = dict(zip(dic_CPPP['dict_value'], dic_CPPP['dict_label']))\n",
    "dict_cppp = {}\n",
    "for key, value in dic_cppp.items():\n",
    "    dict_cppp[int(key)] = value\n",
    "dict_cppp"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ab2f615a-483a-4081-943c-beffcab30eba",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "### 关联表格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "id": "c3ee8cea-eeed-4b12-8bfc-4c4b0c4424b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>ddap_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zdxx_id</th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>fhdxx_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>jz</th>\n",
       "      <th>dzdw</th>\n",
       "      <th>dj</th>\n",
       "      <th>hk</th>\n",
       "      <th>clxx_id</th>\n",
       "      <th>create_time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2509</td>\n",
       "      <td>3624</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>1978</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.38</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7944.66</td>\n",
       "      <td>314</td>\n",
       "      <td>2022-07-21 07:10:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2510</td>\n",
       "      <td>3637</td>\n",
       "      <td>107</td>\n",
       "      <td>93</td>\n",
       "      <td>1981</td>\n",
       "      <td>124</td>\n",
       "      <td>水泥</td>\n",
       "      <td>P.O42.5</td>\n",
       "      <td>海螺水泥</td>\n",
       "      <td>45.56</td>\n",
       "      <td>0.0</td>\n",
       "      <td>340.0</td>\n",
       "      <td>15490.40</td>\n",
       "      <td>241</td>\n",
       "      <td>2022-07-21 07:19:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2514</td>\n",
       "      <td>3638</td>\n",
       "      <td>152</td>\n",
       "      <td>191</td>\n",
       "      <td>1986</td>\n",
       "      <td>121</td>\n",
       "      <td>水泥</td>\n",
       "      <td>P.O42.5</td>\n",
       "      <td>海螺水泥</td>\n",
       "      <td>43.84</td>\n",
       "      <td>0.0</td>\n",
       "      <td>320.0</td>\n",
       "      <td>14028.80</td>\n",
       "      <td>276</td>\n",
       "      <td>2022-07-21 10:49:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2515</td>\n",
       "      <td>3639</td>\n",
       "      <td>152</td>\n",
       "      <td>191</td>\n",
       "      <td>1986</td>\n",
       "      <td>121</td>\n",
       "      <td>水泥</td>\n",
       "      <td>P.O42.5</td>\n",
       "      <td>海螺水泥</td>\n",
       "      <td>52.20</td>\n",
       "      <td>0.0</td>\n",
       "      <td>320.0</td>\n",
       "      <td>16704.00</td>\n",
       "      <td>257</td>\n",
       "      <td>2022-07-21 10:49:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2516</td>\n",
       "      <td>3666</td>\n",
       "      <td>139</td>\n",
       "      <td>141</td>\n",
       "      <td>1998</td>\n",
       "      <td>104</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>32.32</td>\n",
       "      <td>0.0</td>\n",
       "      <td>292.0</td>\n",
       "      <td>9437.44</td>\n",
       "      <td>163</td>\n",
       "      <td>2022-07-21 11:23:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49870</th>\n",
       "      <td>60712</td>\n",
       "      <td>62734</td>\n",
       "      <td>461</td>\n",
       "      <td>744</td>\n",
       "      <td>32869</td>\n",
       "      <td>104</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>36.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>1800.00</td>\n",
       "      <td>1345</td>\n",
       "      <td>2024-06-24 13:28:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49871</th>\n",
       "      <td>60713</td>\n",
       "      <td>62747</td>\n",
       "      <td>609</td>\n",
       "      <td>1145</td>\n",
       "      <td>32886</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.16</td>\n",
       "      <td>0.0</td>\n",
       "      <td>155.0</td>\n",
       "      <td>6379.80</td>\n",
       "      <td>106</td>\n",
       "      <td>2024-06-24 14:08:54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49872</th>\n",
       "      <td>60714</td>\n",
       "      <td>62748</td>\n",
       "      <td>103</td>\n",
       "      <td>87</td>\n",
       "      <td>32893</td>\n",
       "      <td>104</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>34.60</td>\n",
       "      <td>0.0</td>\n",
       "      <td>155.0</td>\n",
       "      <td>5363.00</td>\n",
       "      <td>226</td>\n",
       "      <td>2024-06-24 14:09:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49873</th>\n",
       "      <td>60715</td>\n",
       "      <td>62745</td>\n",
       "      <td>201</td>\n",
       "      <td>892</td>\n",
       "      <td>32890</td>\n",
       "      <td>104</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.64</td>\n",
       "      <td>0.0</td>\n",
       "      <td>170.0</td>\n",
       "      <td>6908.80</td>\n",
       "      <td>125</td>\n",
       "      <td>2024-06-24 14:40:16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49874</th>\n",
       "      <td>60716</td>\n",
       "      <td>62744</td>\n",
       "      <td>388</td>\n",
       "      <td>1278</td>\n",
       "      <td>32911</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>35.68</td>\n",
       "      <td>0.0</td>\n",
       "      <td>150.0</td>\n",
       "      <td>5352.00</td>\n",
       "      <td>766</td>\n",
       "      <td>2024-06-24 15:07:41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>49875 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  ddap_id  khxx_id  zdxx_id  khxd_id  fhdxx_id hplx     cpgg  \\\n",
       "0       2509     3624      218      319     1978       103   矿粉      S95   \n",
       "1       2510     3637      107       93     1981       124   水泥  P.O42.5   \n",
       "2       2514     3638      152      191     1986       121   水泥  P.O42.5   \n",
       "3       2515     3639      152      191     1986       121   水泥  P.O42.5   \n",
       "4       2516     3666      139      141     1998       104   矿粉      S95   \n",
       "...      ...      ...      ...      ...      ...       ...  ...      ...   \n",
       "49870  60712    62734      461      744    32869       104   矿粉      S95   \n",
       "49871  60713    62747      609     1145    32886       105   矿粉      S95   \n",
       "49872  60714    62748      103       87    32893       104   矿粉      S95   \n",
       "49873  60715    62745      201      892    32890       104   矿粉      S95   \n",
       "49874  60716    62744      388     1278    32911       105   矿粉      S95   \n",
       "\n",
       "        cppp     jz  dzdw     dj        hk  clxx_id          create_time  \n",
       "0      金盛兰矿粉  38.38   0.0  207.0   7944.66      314  2022-07-21 07:10:48  \n",
       "1       海螺水泥  45.56   0.0  340.0  15490.40      241  2022-07-21 07:19:48  \n",
       "2       海螺水泥  43.84   0.0  320.0  14028.80      276  2022-07-21 10:49:34  \n",
       "3       海螺水泥  52.20   0.0  320.0  16704.00      257  2022-07-21 10:49:35  \n",
       "4       武新矿粉  32.32   0.0  292.0   9437.44      163  2022-07-21 11:23:31  \n",
       "...      ...    ...   ...    ...       ...      ...                  ...  \n",
       "49870   武新矿粉  36.00   0.0   50.0   1800.00     1345  2024-06-24 13:28:49  \n",
       "49871   武新矿粉  41.16   0.0  155.0   6379.80      106  2024-06-24 14:08:54  \n",
       "49872   武新矿粉  34.60   0.0  155.0   5363.00      226  2024-06-24 14:09:20  \n",
       "49873   武新矿粉  40.64   0.0  170.0   6908.80      125  2024-06-24 14:40:16  \n",
       "49874   武新矿粉  35.68   0.0  150.0   5352.00      766  2024-06-24 15:07:41  \n",
       "\n",
       "[49875 rows x 15 columns]"
      ]
     },
     "execution_count": 194,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#产品类型\n",
    "fhjl_1 = fhjl.replace({'hplx':dict_hplx})\n",
    "fhjl_1 = fhjl_1.replace({'cpgg':dict_cpgg})\n",
    "fhjl_1 = fhjl_1.replace({'cppp':dict_cppp})\n",
    "fhjl_1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce639a13-13d6-45a3-82e6-fcc7dacccc78",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 3.车辆信息&fhjl_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 196,
   "id": "39468d74-790e-4835-8c1a-62e5d99e6cde",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>ddap_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zdxx_id</th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>fhdxx_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>jz</th>\n",
       "      <th>dzdw</th>\n",
       "      <th>dj</th>\n",
       "      <th>hk</th>\n",
       "      <th>create_time</th>\n",
       "      <th>cph</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2509</td>\n",
       "      <td>3624</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>1978</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.38</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7944.66</td>\n",
       "      <td>2022-07-21 07:10:48</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2542</td>\n",
       "      <td>3689</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>2015</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7870.14</td>\n",
       "      <td>2022-07-22 01:07:50</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2546</td>\n",
       "      <td>3713</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2025</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>39.30</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>8056.50</td>\n",
       "      <td>2022-07-22 07:22:39</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2608</td>\n",
       "      <td>3874</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2138</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>37.46</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7679.30</td>\n",
       "      <td>2022-07-24 07:45:33</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2636</td>\n",
       "      <td>3960</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2174</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.32</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7855.60</td>\n",
       "      <td>2022-07-24 19:45:26</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49869</th>\n",
       "      <td>60479</td>\n",
       "      <td>62510</td>\n",
       "      <td>643</td>\n",
       "      <td>1242</td>\n",
       "      <td>32856</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.20</td>\n",
       "      <td>2024-06-19 16:31:19</td>\n",
       "      <td>鄂AVV732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49870</th>\n",
       "      <td>60539</td>\n",
       "      <td>62573</td>\n",
       "      <td>643</td>\n",
       "      <td>1253</td>\n",
       "      <td>32833</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.24</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6438.40</td>\n",
       "      <td>2024-06-20 12:11:23</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49871</th>\n",
       "      <td>60601</td>\n",
       "      <td>62632</td>\n",
       "      <td>643</td>\n",
       "      <td>1243</td>\n",
       "      <td>32834</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.44</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6470.40</td>\n",
       "      <td>2024-06-21 15:56:02</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49872</th>\n",
       "      <td>60706</td>\n",
       "      <td>62743</td>\n",
       "      <td>643</td>\n",
       "      <td>1258</td>\n",
       "      <td>32910</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.20</td>\n",
       "      <td>2024-06-24 12:14:13</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49873</th>\n",
       "      <td>60600</td>\n",
       "      <td>62628</td>\n",
       "      <td>643</td>\n",
       "      <td>1261</td>\n",
       "      <td>32852</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.46</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6633.60</td>\n",
       "      <td>2024-06-21 15:56:01</td>\n",
       "      <td>鄂AQ9150</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>49874 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  ddap_id  khxx_id  zdxx_id  khxd_id  fhdxx_id hplx cpgg   cppp  \\\n",
       "0       2509     3624      218      319     1978       103   矿粉  S95  金盛兰矿粉   \n",
       "1       2542     3689      218      319     2015       103   矿粉  S95  金盛兰矿粉   \n",
       "2       2546     3713      218      273     2025       103   矿粉  S95  金盛兰矿粉   \n",
       "3       2608     3874      218      273     2138       103   矿粉  S95  金盛兰矿粉   \n",
       "4       2636     3960      218      273     2174       103   矿粉  S95  金盛兰矿粉   \n",
       "...      ...      ...      ...      ...      ...       ...  ...  ...    ...   \n",
       "49869  60479    62510      643     1242    32856       105   矿粉  S95   武新矿粉   \n",
       "49870  60539    62573      643     1253    32833       105   矿粉  S95   武新矿粉   \n",
       "49871  60601    62632      643     1243    32834       105   矿粉  S95   武新矿粉   \n",
       "49872  60706    62743      643     1258    32910       105   矿粉  S95   武新矿粉   \n",
       "49873  60600    62628      643     1261    32852       105   矿粉  S95   武新矿粉   \n",
       "\n",
       "          jz  dzdw     dj       hk          create_time      cph  \n",
       "0      38.38   0.0  207.0  7944.66  2022-07-21 07:10:48  鄂L1D516  \n",
       "1      38.02   0.0  207.0  7870.14  2022-07-22 01:07:50  鄂L1D516  \n",
       "2      39.30   0.0  205.0  8056.50  2022-07-22 07:22:39  鄂L1D516  \n",
       "3      37.46   0.0  205.0  7679.30  2022-07-24 07:45:33  鄂L1D516  \n",
       "4      38.32   0.0  205.0  7855.60  2022-07-24 19:45:26  鄂L1D516  \n",
       "...      ...   ...    ...      ...                  ...      ...  \n",
       "49869  41.02   0.0  160.0  6563.20  2024-06-19 16:31:19  鄂AVV732  \n",
       "49870  40.24   0.0  160.0  6438.40  2024-06-20 12:11:23  鄂A1V300  \n",
       "49871  40.44   0.0  160.0  6470.40  2024-06-21 15:56:02  鄂A1V300  \n",
       "49872  41.02   0.0  160.0  6563.20  2024-06-24 12:14:13  鄂A1V300  \n",
       "49873  41.46   0.0  160.0  6633.60  2024-06-21 15:56:01  鄂AQ9150  \n",
       "\n",
       "[49874 rows x 15 columns]"
      ]
     },
     "execution_count": 196,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clxx_list = ['clxx_id','cph']\n",
    "clxx.columns = clxx_list\n",
    "fhjl_2 = pd.merge(fhjl_1,clxx,on = 'clxx_id')\n",
    "fhjl_2 = fhjl_2.drop('clxx_id',axis = 1)\n",
    "fhjl_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "73080fe9-4c28-403d-a114-c8aabf0cf669",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "963dec45-dc4e-4f1f-85db-081043e13c5d",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 4.客户下单&khxx_user"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "id": "9e83513f-bec6-4c77-8298-918650373d8d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>khmc</th>\n",
       "      <th>sales_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>联鑫齐盛</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>宏福煜轩</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>武汉军璐</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>盛华鑫</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161442</th>\n",
       "      <td>32122</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>湖北联发水泥厂</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161443</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161444</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>唐俊吉</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161445</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>湖北志森</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161446</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>湖北联发水泥厂</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1161447 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         khxd_id  khxx_id  zd_id   fhdw      ywlx_code  fhd_id  user_name  \\\n",
       "0            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "1            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "2            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "3            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "4            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "...          ...      ...    ...    ...            ...     ...        ...   \n",
       "1161442    32122      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161443    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161444    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161445    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161446    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "\n",
       "            khmc sales_name  \n",
       "0           威鹏展志        何义奎  \n",
       "1           联鑫齐盛        何义奎  \n",
       "2           宏福煜轩        何义奎  \n",
       "3           武汉军璐        何义奎  \n",
       "4            盛华鑫        何义奎  \n",
       "...          ...        ...  \n",
       "1161442  湖北联发水泥厂        李雨舟  \n",
       "1161443      鑫超强        李雨舟  \n",
       "1161444      唐俊吉        李雨舟  \n",
       "1161445     湖北志森        李雨舟  \n",
       "1161446  湖北联发水泥厂        李雨舟  \n",
       "\n",
       "[1161447 rows x 9 columns]"
      ]
     },
     "execution_count": 227,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxd_1 = pd.merge(khxd_0,khxx_user,on = 'user_name')\n",
    "khxd_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "id": "d1e91066-a93e-42c7-b760-16dc624fce83",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>khmc</th>\n",
       "      <th>sales_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>865</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>928</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>958</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>150.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>984</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161427</th>\n",
       "      <td>30489</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161431</th>\n",
       "      <td>30757</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161435</th>\n",
       "      <td>31343</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>70.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161439</th>\n",
       "      <td>32122</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161443</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>24741 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         khxd_id  khxx_id  zd_id   fhdw      ywlx_code  fhd_id  user_name  \\\n",
       "0            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "48           865      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "96           928      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "144          958      141    276  150.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "192          984      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "...          ...      ...    ...    ...            ...     ...        ...   \n",
       "1161427    30489      626   1187   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161431    30757      626   1187   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161435    31343      626   1187   70.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161439    32122      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161443    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "\n",
       "         khmc sales_name  \n",
       "0        威鹏展志        何义奎  \n",
       "48       威鹏展志        何义奎  \n",
       "96       威鹏展志        何义奎  \n",
       "144      威鹏展志        何义奎  \n",
       "192      威鹏展志        何义奎  \n",
       "...       ...        ...  \n",
       "1161427   鑫超强        李雨舟  \n",
       "1161431   鑫超强        李雨舟  \n",
       "1161435   鑫超强        李雨舟  \n",
       "1161439   鑫超强        李雨舟  \n",
       "1161443   鑫超强        李雨舟  \n",
       "\n",
       "[24741 rows x 9 columns]"
      ]
     },
     "execution_count": 229,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#合并后产生多余重复项，删去\n",
    "khxd_1 = khxd_1.drop_duplicates(subset=['khxd_id'],keep='first',inplace=False)\n",
    "khxd_1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d165894-2b5a-4c2f-a326-a80cf3b6dbd0",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 5.khxd_1&fhjl_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "id": "3d00c8ed-8b79-4e34-ba6d-6c6fb6ddcf88",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>khmc</th>\n",
       "      <th>sales_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>745</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>100.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>865</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>928</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>958</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>150.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>984</td>\n",
       "      <td>141</td>\n",
       "      <td>276</td>\n",
       "      <td>200.0</td>\n",
       "      <td>配送 (贸易+起驳+运输)</td>\n",
       "      <td>121</td>\n",
       "      <td>DS0403001</td>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>何义奎</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161427</th>\n",
       "      <td>30489</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161431</th>\n",
       "      <td>30757</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161435</th>\n",
       "      <td>31343</td>\n",
       "      <td>626</td>\n",
       "      <td>1187</td>\n",
       "      <td>70.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161439</th>\n",
       "      <td>32122</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161443</th>\n",
       "      <td>32150</td>\n",
       "      <td>647</td>\n",
       "      <td>1237</td>\n",
       "      <td>35.0</td>\n",
       "      <td>配送 (贸易+运输)</td>\n",
       "      <td>104</td>\n",
       "      <td>DS0501003</td>\n",
       "      <td>鑫超强</td>\n",
       "      <td>李雨舟</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>24741 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         khxd_id  khxx_id  zd_id   fhdw      ywlx_code  fhd_id  user_name  \\\n",
       "0            745      141    276  100.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "48           865      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "96           928      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "144          958      141    276  150.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "192          984      141    276  200.0  配送 (贸易+起驳+运输)     121  DS0403001   \n",
       "...          ...      ...    ...    ...            ...     ...        ...   \n",
       "1161427    30489      626   1187   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161431    30757      626   1187   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161435    31343      626   1187   70.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161439    32122      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "1161443    32150      647   1237   35.0     配送 (贸易+运输)     104  DS0501003   \n",
       "\n",
       "         khmc sales_name  \n",
       "0        威鹏展志        何义奎  \n",
       "48       威鹏展志        何义奎  \n",
       "96       威鹏展志        何义奎  \n",
       "144      威鹏展志        何义奎  \n",
       "192      威鹏展志        何义奎  \n",
       "...       ...        ...  \n",
       "1161427   鑫超强        李雨舟  \n",
       "1161431   鑫超强        李雨舟  \n",
       "1161435   鑫超强        李雨舟  \n",
       "1161439   鑫超强        李雨舟  \n",
       "1161443   鑫超强        李雨舟  \n",
       "\n",
       "[24741 rows x 9 columns]"
      ]
     },
     "execution_count": 231,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "khxd_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 225,
   "id": "d6c9ad42-e013-4c24-92d5-5dda6eb3f5de",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>ddap_id</th>\n",
       "      <th>khxx_id</th>\n",
       "      <th>zdxx_id</th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>fhdxx_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>jz</th>\n",
       "      <th>dzdw</th>\n",
       "      <th>dj</th>\n",
       "      <th>hk</th>\n",
       "      <th>create_time</th>\n",
       "      <th>cph</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2509</td>\n",
       "      <td>3624</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>1978</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.38</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7944.66</td>\n",
       "      <td>2022-07-21 07:10:48</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2542</td>\n",
       "      <td>3689</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>2015</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>207.0</td>\n",
       "      <td>7870.14</td>\n",
       "      <td>2022-07-22 01:07:50</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2546</td>\n",
       "      <td>3713</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2025</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>39.30</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>8056.50</td>\n",
       "      <td>2022-07-22 07:22:39</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2608</td>\n",
       "      <td>3874</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2138</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>37.46</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7679.30</td>\n",
       "      <td>2022-07-24 07:45:33</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2636</td>\n",
       "      <td>3960</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2174</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.32</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7855.60</td>\n",
       "      <td>2022-07-24 19:45:26</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49869</th>\n",
       "      <td>60479</td>\n",
       "      <td>62510</td>\n",
       "      <td>643</td>\n",
       "      <td>1242</td>\n",
       "      <td>32856</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.20</td>\n",
       "      <td>2024-06-19 16:31:19</td>\n",
       "      <td>鄂AVV732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49870</th>\n",
       "      <td>60539</td>\n",
       "      <td>62573</td>\n",
       "      <td>643</td>\n",
       "      <td>1253</td>\n",
       "      <td>32833</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.24</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6438.40</td>\n",
       "      <td>2024-06-20 12:11:23</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49871</th>\n",
       "      <td>60601</td>\n",
       "      <td>62632</td>\n",
       "      <td>643</td>\n",
       "      <td>1243</td>\n",
       "      <td>32834</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.44</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6470.40</td>\n",
       "      <td>2024-06-21 15:56:02</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49872</th>\n",
       "      <td>60706</td>\n",
       "      <td>62743</td>\n",
       "      <td>643</td>\n",
       "      <td>1258</td>\n",
       "      <td>32910</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.20</td>\n",
       "      <td>2024-06-24 12:14:13</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49873</th>\n",
       "      <td>60600</td>\n",
       "      <td>62628</td>\n",
       "      <td>643</td>\n",
       "      <td>1261</td>\n",
       "      <td>32852</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.46</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6633.60</td>\n",
       "      <td>2024-06-21 15:56:01</td>\n",
       "      <td>鄂AQ9150</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>49874 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  ddap_id  khxx_id  zdxx_id  khxd_id  fhdxx_id hplx cpgg   cppp  \\\n",
       "0       2509     3624      218      319     1978       103   矿粉  S95  金盛兰矿粉   \n",
       "1       2542     3689      218      319     2015       103   矿粉  S95  金盛兰矿粉   \n",
       "2       2546     3713      218      273     2025       103   矿粉  S95  金盛兰矿粉   \n",
       "3       2608     3874      218      273     2138       103   矿粉  S95  金盛兰矿粉   \n",
       "4       2636     3960      218      273     2174       103   矿粉  S95  金盛兰矿粉   \n",
       "...      ...      ...      ...      ...      ...       ...  ...  ...    ...   \n",
       "49869  60479    62510      643     1242    32856       105   矿粉  S95   武新矿粉   \n",
       "49870  60539    62573      643     1253    32833       105   矿粉  S95   武新矿粉   \n",
       "49871  60601    62632      643     1243    32834       105   矿粉  S95   武新矿粉   \n",
       "49872  60706    62743      643     1258    32910       105   矿粉  S95   武新矿粉   \n",
       "49873  60600    62628      643     1261    32852       105   矿粉  S95   武新矿粉   \n",
       "\n",
       "          jz  dzdw     dj       hk          create_time      cph  \n",
       "0      38.38   0.0  207.0  7944.66  2022-07-21 07:10:48  鄂L1D516  \n",
       "1      38.02   0.0  207.0  7870.14  2022-07-22 01:07:50  鄂L1D516  \n",
       "2      39.30   0.0  205.0  8056.50  2022-07-22 07:22:39  鄂L1D516  \n",
       "3      37.46   0.0  205.0  7679.30  2022-07-24 07:45:33  鄂L1D516  \n",
       "4      38.32   0.0  205.0  7855.60  2022-07-24 19:45:26  鄂L1D516  \n",
       "...      ...   ...    ...      ...                  ...      ...  \n",
       "49869  41.02   0.0  160.0  6563.20  2024-06-19 16:31:19  鄂AVV732  \n",
       "49870  40.24   0.0  160.0  6438.40  2024-06-20 12:11:23  鄂A1V300  \n",
       "49871  40.44   0.0  160.0  6470.40  2024-06-21 15:56:02  鄂A1V300  \n",
       "49872  41.02   0.0  160.0  6563.20  2024-06-24 12:14:13  鄂A1V300  \n",
       "49873  41.46   0.0  160.0  6633.60  2024-06-21 15:56:01  鄂AQ9150  \n",
       "\n",
       "[49874 rows x 15 columns]"
      ]
     },
     "execution_count": 225,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fhjl_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 233,
   "id": "610c83eb-7705-4f07-a38c-98038232f54b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>ddap_id</th>\n",
       "      <th>khxx_id_x</th>\n",
       "      <th>zdxx_id</th>\n",
       "      <th>khxd_id</th>\n",
       "      <th>fhdxx_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>jz</th>\n",
       "      <th>...</th>\n",
       "      <th>create_time</th>\n",
       "      <th>cph</th>\n",
       "      <th>khxx_id_y</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>user_name</th>\n",
       "      <th>khmc</th>\n",
       "      <th>sales_name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2546</td>\n",
       "      <td>3713</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2025</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>39.30</td>\n",
       "      <td>...</td>\n",
       "      <td>2022-07-22 07:22:39</td>\n",
       "      <td>鄂L1D516</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>50.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>103</td>\n",
       "      <td>DS0401002</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>钱多多</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2608</td>\n",
       "      <td>3874</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2138</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>37.46</td>\n",
       "      <td>...</td>\n",
       "      <td>2022-07-24 07:45:33</td>\n",
       "      <td>鄂L1D516</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>50.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>103</td>\n",
       "      <td>DS0401002</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>钱多多</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2636</td>\n",
       "      <td>3960</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2174</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.32</td>\n",
       "      <td>...</td>\n",
       "      <td>2022-07-24 19:45:26</td>\n",
       "      <td>鄂L1D516</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>100.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>103</td>\n",
       "      <td>DS0401002</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>钱多多</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2641</td>\n",
       "      <td>3961</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>2174</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>38.50</td>\n",
       "      <td>...</td>\n",
       "      <td>2022-07-25 07:43:22</td>\n",
       "      <td>鄂L1D516</td>\n",
       "      <td>218</td>\n",
       "      <td>273</td>\n",
       "      <td>100.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>103</td>\n",
       "      <td>DS0401002</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>钱多多</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2638</td>\n",
       "      <td>3962</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>2175</td>\n",
       "      <td>103</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>0.00</td>\n",
       "      <td>...</td>\n",
       "      <td>2022-07-25 01:36:56</td>\n",
       "      <td>鄂L1D516</td>\n",
       "      <td>218</td>\n",
       "      <td>319</td>\n",
       "      <td>50.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>103</td>\n",
       "      <td>DS0401002</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>钱多多</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42415</th>\n",
       "      <td>60479</td>\n",
       "      <td>62510</td>\n",
       "      <td>643</td>\n",
       "      <td>1242</td>\n",
       "      <td>32856</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>...</td>\n",
       "      <td>2024-06-19 16:31:19</td>\n",
       "      <td>鄂AVV732</td>\n",
       "      <td>643</td>\n",
       "      <td>1242</td>\n",
       "      <td>41.02</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>105</td>\n",
       "      <td>chediao</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>调度室</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42416</th>\n",
       "      <td>60539</td>\n",
       "      <td>62573</td>\n",
       "      <td>643</td>\n",
       "      <td>1253</td>\n",
       "      <td>32833</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.24</td>\n",
       "      <td>...</td>\n",
       "      <td>2024-06-20 12:11:23</td>\n",
       "      <td>鄂A1V300</td>\n",
       "      <td>643</td>\n",
       "      <td>1253</td>\n",
       "      <td>40.24</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>105</td>\n",
       "      <td>chediao</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>调度室</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42417</th>\n",
       "      <td>60601</td>\n",
       "      <td>62632</td>\n",
       "      <td>643</td>\n",
       "      <td>1243</td>\n",
       "      <td>32834</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.44</td>\n",
       "      <td>...</td>\n",
       "      <td>2024-06-21 15:56:02</td>\n",
       "      <td>鄂A1V300</td>\n",
       "      <td>643</td>\n",
       "      <td>1243</td>\n",
       "      <td>40.44</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>105</td>\n",
       "      <td>chediao</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>调度室</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42418</th>\n",
       "      <td>60706</td>\n",
       "      <td>62743</td>\n",
       "      <td>643</td>\n",
       "      <td>1258</td>\n",
       "      <td>32910</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>...</td>\n",
       "      <td>2024-06-24 12:14:13</td>\n",
       "      <td>鄂A1V300</td>\n",
       "      <td>643</td>\n",
       "      <td>1258</td>\n",
       "      <td>70.00</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>105</td>\n",
       "      <td>DS0403000</td>\n",
       "      <td>顺发天诚</td>\n",
       "      <td>李庭辉</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42419</th>\n",
       "      <td>60600</td>\n",
       "      <td>62628</td>\n",
       "      <td>643</td>\n",
       "      <td>1261</td>\n",
       "      <td>32852</td>\n",
       "      <td>105</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.46</td>\n",
       "      <td>...</td>\n",
       "      <td>2024-06-21 15:56:01</td>\n",
       "      <td>鄂AQ9150</td>\n",
       "      <td>643</td>\n",
       "      <td>1261</td>\n",
       "      <td>41.46</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>105</td>\n",
       "      <td>chediao</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>调度室</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>42420 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          id  ddap_id  khxx_id_x  zdxx_id  khxd_id  fhdxx_id hplx cpgg   cppp  \\\n",
       "0       2546     3713        218      273     2025       103   矿粉  S95  金盛兰矿粉   \n",
       "1       2608     3874        218      273     2138       103   矿粉  S95  金盛兰矿粉   \n",
       "2       2636     3960        218      273     2174       103   矿粉  S95  金盛兰矿粉   \n",
       "3       2641     3961        218      273     2174       103   矿粉  S95  金盛兰矿粉   \n",
       "4       2638     3962        218      319     2175       103   矿粉  S95  金盛兰矿粉   \n",
       "...      ...      ...        ...      ...      ...       ...  ...  ...    ...   \n",
       "42415  60479    62510        643     1242    32856       105   矿粉  S95   武新矿粉   \n",
       "42416  60539    62573        643     1253    32833       105   矿粉  S95   武新矿粉   \n",
       "42417  60601    62632        643     1243    32834       105   矿粉  S95   武新矿粉   \n",
       "42418  60706    62743        643     1258    32910       105   矿粉  S95   武新矿粉   \n",
       "42419  60600    62628        643     1261    32852       105   矿粉  S95   武新矿粉   \n",
       "\n",
       "          jz  ...          create_time      cph  khxx_id_y zd_id    fhdw  \\\n",
       "0      39.30  ...  2022-07-22 07:22:39  鄂L1D516        218   273   50.00   \n",
       "1      37.46  ...  2022-07-24 07:45:33  鄂L1D516        218   273   50.00   \n",
       "2      38.32  ...  2022-07-24 19:45:26  鄂L1D516        218   273  100.00   \n",
       "3      38.50  ...  2022-07-25 07:43:22  鄂L1D516        218   273  100.00   \n",
       "4       0.00  ...  2022-07-25 01:36:56  鄂L1D516        218   319   50.00   \n",
       "...      ...  ...                  ...      ...        ...   ...     ...   \n",
       "42415  41.02  ...  2024-06-19 16:31:19  鄂AVV732        643  1242   41.02   \n",
       "42416  40.24  ...  2024-06-20 12:11:23  鄂A1V300        643  1253   40.24   \n",
       "42417  40.44  ...  2024-06-21 15:56:02  鄂A1V300        643  1243   40.44   \n",
       "42418  41.02  ...  2024-06-24 12:14:13  鄂A1V300        643  1258   70.00   \n",
       "42419  41.46  ...  2024-06-21 15:56:01  鄂AQ9150        643  1261   41.46   \n",
       "\n",
       "       ywlx_code  fhd_id  user_name      khmc  sales_name  \n",
       "0        自提 (贸易)     103  DS0401002  建工-水泥-恒泰         钱多多  \n",
       "1        自提 (贸易)     103  DS0401002  建工-水泥-恒泰         钱多多  \n",
       "2        自提 (贸易)     103  DS0401002  建工-水泥-恒泰         钱多多  \n",
       "3        自提 (贸易)     103  DS0401002  建工-水泥-恒泰         钱多多  \n",
       "4        自提 (贸易)     103  DS0401002  建工-水泥-恒泰         钱多多  \n",
       "...          ...     ...        ...       ...         ...  \n",
       "42415    自提 (贸易)     105    chediao    德旺码头仓库         调度室  \n",
       "42416    自提 (贸易)     105    chediao    德旺码头仓库         调度室  \n",
       "42417    自提 (贸易)     105    chediao    德旺码头仓库         调度室  \n",
       "42418    自提 (贸易)     105  DS0403000      顺发天诚         李庭辉  \n",
       "42419    自提 (贸易)     105    chediao    德旺码头仓库         调度室  \n",
       "\n",
       "[42420 rows x 23 columns]"
      ]
     },
     "execution_count": 233,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#生成中间表！！！\n",
    "result = pd.merge(fhjl_2,khxd_1,on = 'khxd_id')\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ec4cf52-a806-4605-9776-b8c8dba19b0f",
   "metadata": {},
   "source": [
    "## 6.修缮列顺序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 239,
   "id": "a60d50a2-a9d9-4dfd-93ca-8273cf34a047",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fhjl_id</th>\n",
       "      <th>fhjl_time</th>\n",
       "      <th>sales_name</th>\n",
       "      <th>ywlx_code</th>\n",
       "      <th>khmc</th>\n",
       "      <th>fhd_id</th>\n",
       "      <th>zd_id</th>\n",
       "      <th>hplx</th>\n",
       "      <th>cpgg</th>\n",
       "      <th>cppp</th>\n",
       "      <th>fhdw</th>\n",
       "      <th>dzdw</th>\n",
       "      <th>dj</th>\n",
       "      <th>hk</th>\n",
       "      <th>cph</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2546</td>\n",
       "      <td>2022-07-22 07:22:39</td>\n",
       "      <td>钱多多</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>103</td>\n",
       "      <td>273</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>50.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>8056.5</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2608</td>\n",
       "      <td>2022-07-24 07:45:33</td>\n",
       "      <td>钱多多</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>103</td>\n",
       "      <td>273</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>50.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7679.3</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2636</td>\n",
       "      <td>2022-07-24 19:45:26</td>\n",
       "      <td>钱多多</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>103</td>\n",
       "      <td>273</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7855.6</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2641</td>\n",
       "      <td>2022-07-25 07:43:22</td>\n",
       "      <td>钱多多</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>103</td>\n",
       "      <td>273</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>7892.5</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2638</td>\n",
       "      <td>2022-07-25 01:36:56</td>\n",
       "      <td>钱多多</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>103</td>\n",
       "      <td>319</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>金盛兰矿粉</td>\n",
       "      <td>50.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>205.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>鄂L1D516</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42415</th>\n",
       "      <td>60479</td>\n",
       "      <td>2024-06-19 16:31:19</td>\n",
       "      <td>调度室</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>105</td>\n",
       "      <td>1242</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.2</td>\n",
       "      <td>鄂AVV732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42416</th>\n",
       "      <td>60539</td>\n",
       "      <td>2024-06-20 12:11:23</td>\n",
       "      <td>调度室</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>105</td>\n",
       "      <td>1253</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.24</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6438.4</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42417</th>\n",
       "      <td>60601</td>\n",
       "      <td>2024-06-21 15:56:02</td>\n",
       "      <td>调度室</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>105</td>\n",
       "      <td>1243</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>40.44</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6470.4</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42418</th>\n",
       "      <td>60706</td>\n",
       "      <td>2024-06-24 12:14:13</td>\n",
       "      <td>李庭辉</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>顺发天诚</td>\n",
       "      <td>105</td>\n",
       "      <td>1258</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>70.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6563.2</td>\n",
       "      <td>鄂A1V300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42419</th>\n",
       "      <td>60600</td>\n",
       "      <td>2024-06-21 15:56:01</td>\n",
       "      <td>调度室</td>\n",
       "      <td>自提 (贸易)</td>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>105</td>\n",
       "      <td>1261</td>\n",
       "      <td>矿粉</td>\n",
       "      <td>S95</td>\n",
       "      <td>武新矿粉</td>\n",
       "      <td>41.46</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6633.6</td>\n",
       "      <td>鄂AQ9150</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>42420 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       fhjl_id            fhjl_time sales_name ywlx_code      khmc  fhd_id  \\\n",
       "0         2546  2022-07-22 07:22:39        钱多多   自提 (贸易)  建工-水泥-恒泰     103   \n",
       "1         2608  2022-07-24 07:45:33        钱多多   自提 (贸易)  建工-水泥-恒泰     103   \n",
       "2         2636  2022-07-24 19:45:26        钱多多   自提 (贸易)  建工-水泥-恒泰     103   \n",
       "3         2641  2022-07-25 07:43:22        钱多多   自提 (贸易)  建工-水泥-恒泰     103   \n",
       "4         2638  2022-07-25 01:36:56        钱多多   自提 (贸易)  建工-水泥-恒泰     103   \n",
       "...        ...                  ...        ...       ...       ...     ...   \n",
       "42415    60479  2024-06-19 16:31:19        调度室   自提 (贸易)    德旺码头仓库     105   \n",
       "42416    60539  2024-06-20 12:11:23        调度室   自提 (贸易)    德旺码头仓库     105   \n",
       "42417    60601  2024-06-21 15:56:02        调度室   自提 (贸易)    德旺码头仓库     105   \n",
       "42418    60706  2024-06-24 12:14:13        李庭辉   自提 (贸易)      顺发天诚     105   \n",
       "42419    60600  2024-06-21 15:56:01        调度室   自提 (贸易)    德旺码头仓库     105   \n",
       "\n",
       "       zd_id hplx cpgg   cppp    fhdw  dzdw     dj      hk      cph  \n",
       "0        273   矿粉  S95  金盛兰矿粉   50.00   0.0  205.0  8056.5  鄂L1D516  \n",
       "1        273   矿粉  S95  金盛兰矿粉   50.00   0.0  205.0  7679.3  鄂L1D516  \n",
       "2        273   矿粉  S95  金盛兰矿粉  100.00   0.0  205.0  7855.6  鄂L1D516  \n",
       "3        273   矿粉  S95  金盛兰矿粉  100.00   0.0  205.0  7892.5  鄂L1D516  \n",
       "4        319   矿粉  S95  金盛兰矿粉   50.00   0.0  205.0     0.0  鄂L1D516  \n",
       "...      ...  ...  ...    ...     ...   ...    ...     ...      ...  \n",
       "42415   1242   矿粉  S95   武新矿粉   41.02   0.0  160.0  6563.2  鄂AVV732  \n",
       "42416   1253   矿粉  S95   武新矿粉   40.24   0.0  160.0  6438.4  鄂A1V300  \n",
       "42417   1243   矿粉  S95   武新矿粉   40.44   0.0  160.0  6470.4  鄂A1V300  \n",
       "42418   1258   矿粉  S95   武新矿粉   70.00   0.0  160.0  6563.2  鄂A1V300  \n",
       "42419   1261   矿粉  S95   武新矿粉   41.46   0.0  160.0  6633.6  鄂AQ9150  \n",
       "\n",
       "[42420 rows x 15 columns]"
      ]
     },
     "execution_count": 239,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = result.reindex(columns=['id','create_time','sales_name','ywlx_code','khmc','fhd_id','zd_id','hplx','cpgg','cppp',\n",
    "                                'fhdw','dzdw','dj','hk','cph'])    ##修正顺序\n",
    "result.columns = ['fhjl_id','fhjl_time','sales_name','ywlx_code','khmc','fhd_id','zd_id','hplx','cpgg','cppp',\n",
    "                                'fhdw','dzdw','dj','hk','cph']   ##按要求改行索引名\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c526f98b-47f4-40c7-ad9d-3a71025b4574",
   "metadata": {},
   "source": [
    "# 四、统计分析"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "80415a5f-f77a-4a25-9007-e4597f0e2c7d",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 各问题的统计分析常用的统计指标是通用的，故先设置一些函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 387,
   "id": "f2053d4c-0294-4c01-8a06-ed278e988550",
   "metadata": {},
   "outputs": [],
   "source": [
    "#生成字典\n",
    "def arr(a,b,c,d):    # a = b[c].unique() ; d:要生成的新字典\n",
    "    for i in a:\n",
    "        str(i)\n",
    "        j = b[c].value_counts()[i]\n",
    "        d[i] = j\n",
    "    return d"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63a87973-4eeb-44a4-acda-a1bd83835055",
   "metadata": {},
   "source": [
    "## 1.水泥和矿粉的销量情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 398,
   "id": "ad691fe3-28a2-4b42-9090-44cded8aad32",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "水泥被销售的次数： 10263\n",
      "矿粉被销售的次数： 32157\n",
      "被销售次数最多的是 矿粉 \n",
      "\n",
      "水泥总销售额： 113038641.36000001\n",
      "矿粉总销售额： 211974279.92000002\n",
      "总销售额最多的是 矿粉 \n",
      "\n",
      "客户按下单水泥次数降序排列： [('合力久盛(现金)', 2246), ('九欣通建材', 1316), ('建工-水泥-恒泰', 1262), ('刘伟', 1222), ('威鹏展志', 769), ('武汉中村', 659), ('武汉昊恒(水泥)', 651), ('德旺码头仓库', 543), ('顺发天诚', 541), ('湖北加瓦商贸', 422), ('正洪岩土', 303), ('明华', 152), ('诚优聚建材', 146), ('江南码头仓库', 31)]\n",
      "客户按下单矿粉次数降序排列： [('武汉中村', 5954), ('湖北加瓦商贸', 4053), ('合力久盛(现金)', 3890), ('德旺码头仓库', 3827), ('顺发天诚', 3047), ('正洪岩土', 2497), ('武汉昊恒(水泥)', 2190), ('威鹏展志', 1772), ('诚优聚建材', 1683), ('刘伟', 1302), ('建工-水泥-恒泰', 1195), ('九欣通建材', 261), ('江南码头仓库', 231), ('鑫超强', 135), ('明华', 120)] \n",
      "\n",
      "水泥品牌按下单次数降序排列： [('海螺水泥', 8226), ('三峡水泥', 1241), ('东方希望水泥', 375), ('娲石水泥', 355), ('华新水泥', 66)]\n",
      "矿粉品牌按下单次数降序排列： [('武新矿粉', 31134), ('金盛兰矿粉', 807), ('嘉华矿粉', 216)]\n"
     ]
    }
   ],
   "source": [
    "#以hplx来划分result，生成两张新表，两者只记录水泥/矿粉销售情况\n",
    "df_sn = result[result['hplx'] == '水泥']\n",
    "df_kf = result[result['hplx'] == '矿粉']\n",
    "\n",
    "#首先求两者各自的销售总量（第一个统计指标）\n",
    "n1 = len(df_sn['hplx'])\n",
    "n2 = len(df_kf['hplx'])\n",
    "print('水泥被销售的次数：',n1)\n",
    "print('矿粉被销售的次数：',n2)\n",
    "if n1 > n2:\n",
    "    n_max = '水泥'\n",
    "else:\n",
    "    n_max = '矿粉'\n",
    "print('被销售次数最多的是',n_max,'\\n')\n",
    "\n",
    "#两者各自的销售总金额（第二个统计指标）\n",
    "N1 = df_sn['hk'].sum()\n",
    "N2 = df_kf['hk'].sum()\n",
    "print('水泥总销售额：',N1)\n",
    "print('矿粉总销售额：',N2)\n",
    "if N1 > N2:\n",
    "    N_max = '水泥'\n",
    "else:\n",
    "    N_max  = '矿粉'\n",
    "print('总销售额最多的是',N_max,'\\n')\n",
    "\n",
    "#下单水泥最多的客户，下单矿粉最多的客户（第三个统计指标）\n",
    "kh_sn = df_sn['khmc'].unique()\n",
    "kh_sn_cs = {}\n",
    "arr(kh_sn,df_sn,'khmc',kh_sn_cs)\n",
    "print('客户按下单水泥次数降序排列：',sorted(kh_sn_cs.items(),key = lambda x:x[1],reverse = True))\n",
    "\n",
    "kh_kf = df_kf['khmc'].unique()\n",
    "kh_kf_cs = {}\n",
    "arr(kh_kf,df_kf,'khmc',kh_kf_cs)\n",
    "print('客户按下单矿粉次数降序排列：',sorted(kh_kf_cs.items(),key = lambda x:x[1],reverse = True),'\\n')\n",
    "\n",
    "#水泥最畅销的品牌，矿粉最畅销的品牌（第四个统计指标）\n",
    "pp_sn = df_sn['cppp'].unique()\n",
    "pp_sn_cs = {}\n",
    "arr(pp_sn,df_sn,'cppp',pp_sn_cs)\n",
    "print('水泥品牌按下单次数降序排列：',sorted(pp_sn_cs.items(),key = lambda x:x[1],reverse = True))\n",
    "\n",
    "pp_kf = df_kf['cppp'].unique()\n",
    "pp_kf_cs = {}\n",
    "arr(pp_kf,df_kf,'cppp',pp_kf_cs)\n",
    "print('矿粉品牌按下单次数降序排列：',sorted(pp_kf_cs.items(),key = lambda x:x[1],reverse = True))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5d22eff-22ef-4470-aa09-ffe600534799",
   "metadata": {},
   "source": [
    "## 2.客户需求量分析，哪些客户最重要"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 482,
   "id": "3830c0db-9cf3-4904-aa6f-1c086d2bf333",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "客户按下单次数进行降序排列： [('武汉中村', 6613), ('合力久盛(现金)', 6136), ('湖北加瓦商贸', 4475), ('德旺码头仓库', 4370), ('顺发天诚', 3588), ('武汉昊恒(水泥)', 2841), ('正洪岩土', 2800), ('威鹏展志', 2541), ('刘伟', 2524), ('建工-水泥-恒泰', 2457), ('诚优聚建材', 1829), ('九欣通建材', 1577), ('明华', 272), ('江南码头仓库', 262), ('鑫超强', 135)]\n",
      "下单最多的客户是： 武汉中村\n"
     ]
    }
   ],
   "source": [
    "#客户按下单次数排序\n",
    "kh = result['khmc'].unique()\n",
    "kh_cs = {}\n",
    "arr(kh,result,'khmc',kh_cs)\n",
    "print('客户按下单次数进行降序排列：',sorted(kh_cs.items(),key = lambda x:x[1],reverse = True))\n",
    "key_max = max(kh_cs, key=kh_cs.get)\n",
    "print('下单最多的客户是：',key_max)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 480,
   "id": "70867351-de01-4cd2-bdbc-c82312278bb4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>客户名称</th>\n",
       "      <th>下单水泥次数</th>\n",
       "      <th>下单矿粉次数</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>湖北加瓦商贸</td>\n",
       "      <td>422</td>\n",
       "      <td>4053</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>九欣通建材</td>\n",
       "      <td>1316</td>\n",
       "      <td>261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>建工-水泥-恒泰</td>\n",
       "      <td>1262</td>\n",
       "      <td>1195</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>诚优聚建材</td>\n",
       "      <td>146</td>\n",
       "      <td>1683</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>合力久盛(现金)</td>\n",
       "      <td>2246</td>\n",
       "      <td>3890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>明华</td>\n",
       "      <td>152</td>\n",
       "      <td>120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>刘伟</td>\n",
       "      <td>1222</td>\n",
       "      <td>1302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>武汉中村</td>\n",
       "      <td>659</td>\n",
       "      <td>5954</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>正洪岩土</td>\n",
       "      <td>303</td>\n",
       "      <td>2497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>威鹏展志</td>\n",
       "      <td>769</td>\n",
       "      <td>1772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>江南码头仓库</td>\n",
       "      <td>31</td>\n",
       "      <td>231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>德旺码头仓库</td>\n",
       "      <td>543</td>\n",
       "      <td>3827</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>武汉昊恒(水泥)</td>\n",
       "      <td>651</td>\n",
       "      <td>2190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>顺发天诚</td>\n",
       "      <td>541</td>\n",
       "      <td>3047</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        客户名称  下单水泥次数  下单矿粉次数\n",
       "0     湖北加瓦商贸     422    4053\n",
       "1      九欣通建材    1316     261\n",
       "2   建工-水泥-恒泰    1262    1195\n",
       "3      诚优聚建材     146    1683\n",
       "4   合力久盛(现金)    2246    3890\n",
       "5         明华     152     120\n",
       "6         刘伟    1222    1302\n",
       "7       武汉中村     659    5954\n",
       "8       正洪岩土     303    2497\n",
       "9       威鹏展志     769    1772\n",
       "10    江南码头仓库      31     231\n",
       "11    德旺码头仓库     543    3827\n",
       "12  武汉昊恒(水泥)     651    2190\n",
       "13      顺发天诚     541    3047"
      ]
     },
     "execution_count": 480,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#客户对各商品分别下了多少次，带来多少钱，下得最多的商品是什么，给了多少钱\n",
    "kh_sn_name = []\n",
    "kh_sn_ccs = []\n",
    "kh_kf_name = []\n",
    "kh_kf_ccs = []\n",
    "for key in kh_sn_cs.keys():\n",
    "    kh_sn_name.append(key)\n",
    "for value in kh_sn_cs.values():\n",
    "    kh_sn_ccs.append(value)\n",
    "for key in kh_kf_cs.keys():\n",
    "    kh_kf_name.append(key)\n",
    "for value in kh_kf_cs.values():\n",
    "    kh_kf_ccs.append(value)\n",
    "data1 = pd.DataFrame({'客户名称':kh_sn_name,\n",
    "        '下单水泥次数':kh_sn_ccs})\n",
    "data2 = pd.DataFrame({'客户名称':kh_kf_name,\n",
    "        '下单矿粉次数':kh_kf_ccs})\n",
    "data = pd.merge(data1,data2, on = '客户名称')\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "76ff92f0-5601-4a9b-8220-d923220a320c",
   "metadata": {},
   "outputs": [],
   "source": [
    "#求各客户下单水泥与矿粉的总金额\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 496,
   "id": "f18022b5-03d6-4842-a901-7a4e1f5e0556",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+4AAAKPCAYAAADzO5D1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVxWVeLH8e+zsckmuRMJblEa6ihJVrS5NWKizTimTWlj2WaZS+ro/KwssTKzclxbSMsca5xsc0utzK1whDLIUsGtLEBW4WF77u8PxkefQEQSeNDP+/W6r7jn3Hs598GU7z33nGMyDMMQAAAAAABwS+b6bgAAAAAAADgzgjsAAAAAAG6M4A4AAAAAgBsjuAMAAAAA4MYI7gAAAAAAuDGCOwAAAAAAbozgDgAAAACAGyO4AwAAAADgxgjuAIAGw+Fw1HcTAAAA6hzBHQDQYDz22GMaMmTI775OXFyc5syZ87uu8dNPPykrK+t3t+W1117T9u3bf/d1auLgwYN67733ZLfb6/T7vvnmm/r4449r5do//vij/v73v5/1uC1btujQoUNVHlNWVlZl/a+//lpp+aFDh2QYRpXnFhUV6csvv1ReXl6l9YmJiUpLSzvj+XX9MwMA1C+COwCgQSgtLdXKlSt17bXXVut4h8Oh77//vtLt008/1YwZM5SSklJpfWlp6Vnb0r17dz333HNnbcfMmTM1duxYl23q1KmSJMMwNH36dO3cubPKa5SUlKikpKRa930u/vvf/+rPf/6zcnJyznrs9u3bdc011ygxMdFZFhcXJ5PJdMbNy8ur0mu9+OKLWr169fm6DReFhYWKi4vTF198UeVxDz74oNauXVuhfPbs2frll190ww03aOHChVVe4+qrr9bkyZMrlA8bNky33XZblefm5OTo+uuvV0pKiiQpOztbx48fV15envLz8zV69GgtWrRI+fn5ysvLU3p6ujOs2+12XXfddZo9e7bzes8991yVP4vz8cALAFB/CO4AgAZhyZIlOnbsmMaOHVtpMGndurXy8/Odx5eUlOiKK66odNu0aZOys7N15ZVXVlp/tp50q9Wq+++/XwsXLlRBQUGVxy5fvlyHDx9WkyZN1KRJExUUFOj111+XVB6Gc3Jy9Le//a3KayxatEgeHh6yWCyyWq1n3aob1Hx9fSVJFovlrMe2a9dOfn5+uvrqq7VkyRJJUmBgoC655BLl5eVV2BYuXChvb+9Kr3Xs2DG1atVKaWlpZ9wOHDig77//Xr/88ovzvH79+qlHjx667rrrnNvVV1+t+fPn6/Dhw0pLS5O/v7/+9Kc/KSsrS2lpafrxxx+VmpoqSUpOTnY+bPH09JSHh4f279+v0aNHKz8/X3v37tXEiROVmZmpK664QsnJyWf8PPLz83Xo0CH16tXLpTw3N1dfffWV/vKXv1T5efr5+UmS8+HGfffdp0svvdS57dq1S3PnztWll16q4OBgBQcHO99S8PLyUs+ePTVlyhTnQx9PT09ddtlllf4srrvuOnl6elbZHgCAe7PWdwMAADibjIwMPfHEE4qMjJSnp6fWrFnjrPvvf/+rXr16acGCBc4gKpUHGZPJpNdff10jRoyQVP5aumEYuvPOOyvtDf7ss8900003VahLT09XZmamS9m1114rh8OhH374ocLxl156qbMtVqtVAwYM0M033yyr1aoDBw442x8fH6/8/Hz5+/tXaMvWrVvVs2dPSdIDDzyghx56SCaTSampqQoLC3Mel5qaqsTERN14441q3Lixvv32W0VERJz1YYAk2Ww2SeW91KdLS0tTaGioS1nTpk21Zs0ajRgxQt98840kOYP56Z/7SZ6enpU+ECgpKVF6erri4uI0a9asM7bN4XCopKREU6dO1dNPPy1JGj9+vBwOh5YuXaq9e/dq1qxZstvtatu2ra655hr98ssvzu/54YcfyjAMlZSUKDo6Wp999pmOHj2qKVOmaODAgc7v8+abb2rr1q3y8vLS2rVr9Yc//EFXXnmlbrzxRk2ePFnz5s2TyWRyHl9aWqpjx44pKSlJ3t7eateunY4cOSIPDw81a9ZM//rXv1RWVqaioiK99dZbzvM6d+6sq666yrl/8rMrLS1VWlqali1bppycHOfnduutt+qmm27S448/rpKSEpWWlqpp06bO81944QV9/vnnGj58uBITE2U2m2UymSr9WVgslmo9nAEAuC+COwDArTkcDt19992KiIjQv//9b3Xo0EH//ve/dffdd+v48eO65557dPfdd+uPf/yjy3l2u10+Pj7OcHr06FFNmDBBrVu3dgluJ1ksFnl6eio4OFh2u93ZIyqVvz59ptfin3zyyQplH3/8sbM9JwPTk08+qYMHD+qJJ56Q2WxWRkaG3n77ba1fv15XXHGF89z8/HxdccUVLj2kJ6+Rk5Ojm2++WZ07d9acOXPUpk0bbd++XcOHD9fhw4fVuHFjzZ07V23btlWfPn2c53///fcqLi6Wh4eHs6xRo0bOr3/88UeFhIRIKh+3ff311+vuu+92BubT2/Hmm28690+2sbLx1iUlJZWOEU9LS5PD4dCePXvUvn37CvWnMwzDZULC3r17S5KeffZZ9erVy6W329/fXxMmTNDYsWMrXOfk0IfevXsrMjJS8+fPl1T+evrLL7+s5cuXy2q16p133tHdd98tSbr11ls1atQobdy40eX7HDhwQJdffrlz/+RDlJ49e2rr1q1644031LJlSy1YsMB5zN69e/X3v//dGdyHDBmi66+/XpL03nvvaeXKlZo3b54GDBggT09PWa1W5efnKyEhQS+//LKKi4vVsmVL7d+/33lNm82muXPnatmyZbLZbC4PFwAAFx6COwDArU2bNk3bt2/X7t275e/vr1deeUX33HOPwsLCNG7cOF122WX65z//WeE8Ly8v56vzBQUF+vOf/6zs7GxlZ2erWbNmFY5ftmyZ7rzzTh05cqRCnc1m0w033KDPPvusyrYmJiaqa9euLgH59Gs0b95ckmQymfT3v/9dvXv31uWXX65LLrnE2QN78jX93/aQGoYhf39/ffvtt5oyZYq6dOmi7777TgUFBbrkkkt06aWXSirvlX7wwQddgtyoUaO0detWl+uNHDlSd911lyRp1apVuvnmm3X8+HH169dPVqtVt99+u/PYEydO6M4779To0aPVr18/Z3lZWZkyMzPP+Ep8ZZ/D/v37ZTab1bp16zN8iqeYTKYKn8OxY8f0xRdfaNKkSS7lPj4+Z7yO1Xrq150FCxYoLCxMvXr1UkBAgJYtW6Y//vGP2rFjh7777jv99a9/lSQFBARoxIgReuyxx/Tf//7X+QDo5MOK1NRU51sJTzzxhL744gtt27ZNO3fu1DfffKOOHTs6v+f111/v8lbG9u3bnW+B9O7dW5s3b9aBAwf07rvvOtt68md88pX7srIyvf/++4qNjXVe56abbtJNN93krK8KKzIAQMPGGHcAgFt77LHH9J///McZ9P785z9r4MCBuuGGG1RQUKAPP/yw0oB4UmZmpvr166ft27erW7duzhm/DcPQDz/8oJYtW2r06NG68847z3iN04NfdZweNk8GaKvV6hIu//SnP2nmzJmKi4tzeVvgZO/wbwPrvHnzFBUVpcTERL3yyiv67rvvFBISotzcXJce4CuvvFLdunVzOff9999XTk6O8/XzwMBA52v4kvT6669r8+bNuv766+Xr66uEhAR17drVWe/t7a0uXbqof//+Gj16tIqKiiRJxcXFatasmQzDUHp6ug4cOOD8bA3DcB53upOfucPhkN1uP+v229nZX3rpJXl6eioqKkp2u13FxcWSdMaJ8E73/PPP64477tANN9yg5ORkTZ8+XY8//rjWrFmjxx9/XHfccYeKiop07NgxHTt2TKNGjdIPP/yghx56yNmOM71ybjKZ9Oijj+qvf/2rS2iXyt8+ONm+1NRU/fTTT7ruuusklQ9B2L59u0wmk44dO6affvpJx44d06OPPqobbrjB2ZZjx46dcRZ7qTyYG4ah/Pz8CltZWRnBHQAaOHrcAQBurWnTprrhhhskSfv27dNzzz2nd999V7feeqs2btyooUOH6oEHHlCfPn0qBOyysjLFxMTo6NGj2rVrl1577TV16dJFTz31lDp16qShQ4fq1ltvdb46fSYWi0VlZWUuk99V5uRY8dN7u08PnoGBgc6vT77K/vnnn+upp55yvhZ+suf0ZA/vSaNGjVJGRob69Omj22+/XfHx8ZLKX90ODw+vsl1NmjRxfv3FF18oOztbt956q3788UdnW26++WYNHz5cr732WoWJzMxms6ZPn65OnTrp6aefVl5enjw9PZWVleV8aDJ79my9+eab+vnnnyWVh/pff/3V+SbASXv37tXRo0fP2Ev/W0eOHFFwcLCk8lf6586dK7vd7vwsu3fvrq+//lpm89n7IgYOHKirr75ax48f1+DBg3XXXXfplltu0fvvv6/9+/dr7969zon3TmrevLleffVVtW/fXhMnTjzjtU0mk+bPny+r1aqBAwfq9ddf1yWXXOL8LE5+pvn5+Zo2bVqFeQ0eeOAB+fr6nnGZt5dfflkPPvhghfKff/5ZLVu2VFFRkQ4dOuQyxOO39wEAaLjocQcAuLXMzEy98cYb6tOnj8LDw5Wenq6vvvpKn3zyib799lsFBQVp0KBBCgoKUu/evTV+/Hjn5G8Wi0XLly/Xjh079Ic//EH//Oc/NW3aND388MO68cYb1alTJ82fP/+soe/kmtt+fn5Vbid7sU/v3Tz5dX5+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w4YN0wcffKC3337bZc3432rbtq2+/PJLxcbG6sYbb9SAAQP073//WzabTRs2bNAbb7yhL7/8UhaLRfPmzVPTpk1d1ji32WwuP6fPPvtMJpNJN9xwg/r376+SkpJqf24HDx5Up06dKpQbhqHdu3c7Q310dLQ2bdokf3//So8/3cKFC3XFFVfonnvucQZ3k8mkZ555RpL0t7/9TX369HEOtTj5qnxljh075vwZ5ebmVqg/GdrLysqUk5NT7eB+yy23VBir/9sZ4VevXq23335b//73v50PajZs2KAXX3xRCxYsqHSsf35+vkJCQvTWW2/V+M8yAKD+MMYdANBgZGZm6siRIxW2rKysM4by6jrTxGb/93//p/79+ztfRz5XM2bM0N69e/V///d/euGFFxQUFKTbbrvNOQP96axWq7766ivZbDaXcfqFhYVau3atRowYoXbt2slutysxMVEDBw6UJN12223as2eP7r33Xt1///267rrr9M0330gq77G/9dZb9corr7i8wSCp0iAdGhqqHTt2aNKkSXr55Zdls9n0888/6+6779awYcPUs2dPbdy4UUuXLtX48eOdY7fNZrOysrKUlpam/Px8ZWRk6MUXX9SoUaPO+TOz2+364YcfKvS4S+W916dPTldUVKTFixfrtttuO+vDnRdeeEEfffRRpT/rJ598Up988omee+45SeXzEBw6dEhBQUEux52cg+Caa65RSEiIQkJC9OKLL55xHfXk5GQ5HA7nxIS/vc7pf24Nw9DGjRsrTE732x54Ly8v3XfffRo8eLAKCwsVFxen/v3764477tDf/vY353FWq1Vbt27V3r179c477yg7O7vSzxQA0AAYAAA0AJ6enoakM27BwcFnPPf99983JBkWi6XSzWw2G5KM0tJSl/OefPJJQ5KxdevWGrX5vffeMywWi/HJJ584y1JTU43Q0FAjKSnJ5dj//Oc/RqNGjQxJxp133ulS97e//c2wWq3GwIEDjc2bN1f5PZOSkoyrrrrKmDdv3hmPOXHihPHoo48aV199teHr62uUlZVVec3//Oc/RrNmzYzDhw8bX331ldGoUSOja9euRnFxsfOYHTt2GC1btnT5mVxyySXG66+/XuW1TyorKzMeeughY9iwYUanTp0Mq9VqHDhwoMJx69evNxYuXGgYhmEcPXrU+Pvf/25IMrZv316t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TJggq9WqMWPGKCgoSDfeeKMk6d5771XLli1rq80AAAAAAFw0qh3czebyzvng4GAFBwdLku666y5J0vjx412ODQsLO1/tAwAAAADgolbtV+VPOnToUJX1P//8s3r16qXs7OyatgkAAAAAAPzPOQf37t27q1OnTpo6dapSU1Mr1E+cOFF5eXkKCAg4Lw0EAAAAAOBids7B3TAMPfnkkzp8+LC++eYbl7pXXnlFa9eu1fLly1nLHQAAAACA86DaY9xPMplMuv3223X77bc7yxwOh2bNmqV//vOf+uyzz9S2bdvz2kgAAAAAAC5W5xzcT4qLi1NWVpZycnK0fv163Xzzzfrvf/+r5s2bn8/2AQAAAABwUavWq/KlpaWaOnWq0tPTT51oNstutysjI0MFBQVKT09XZmZmrTUUAAAAAICLUbV63A8fPqxdu3apffv2KigoUEJCgiZNmuSsLysr06uvvqpbbrlFr7/+um699dZaazAAAAAAABeTavW4h4WFae3atTpw4IDi4uI0cOBA3XHHHTpy5IgkyWKxaPTo0fr3v/+tv/71r0pMTKzNNgMAAAAAcNE4p1nlg4KCNH78eO3fv1/BwcFKTk5WaWmps75nz56aPn267rjjDpWUlJz3xgIAAAAAcLE55+XgEhISFBMTo+nTp6tXr17q1q2bxowZo5ycHEnSww8/rNDQUGVkZJz3xgIAAAAAcLE5p+C+aNEi3XTTTbrxxhvl7e0ts9msf/3rX8rMzFR4eLiWLFkiSVqzZo1atmxZKw0GAAAAAOBiUu3g/sMPPyguLk7r1q3TtGnTZLWWz2sXHh6u5cuXa/Xq1Zo7d666deumn376qdYaDAAAAADAxaTa67h36NBBP/74o2w2W6X1V199tb7++mstWLBArVq1Om8NBAAAAADgYnZOr8qfKbSf5OPjo/Hjx/+uBgEAAAAAgFPOKbg///zz+vXXXyuUX3XVVc6vHQ6H3nvvvd/fMgAAAAAAcG7BferUqbrssst07733upRnZWU5v54/f74ef/xxnThx4vy0EAAAAACAi9g5BffLL79c3333nW644QaXch8fH0lSenq6pk+frvj4eDVq1Ois18vMzNS2bdtYOg4AAAAAgDOo9uR0kmQymdS2bVu1bdu20vpnnnlGgwcPVnR09FmvtWLFCj3wwAMKDQ3V3r179frrr2vo0KHa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",
      "text/plain": [
       "<Figure size 1200x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 设置柱状图的宽度\n",
    "bar_width = 0.35\n",
    "\n",
    "# 设置x轴的位置\n",
    "x = data.index\n",
    "\n",
    "# 绘制柱状图\n",
    "fig, ax = plt.subplots(figsize=(12, 7))\n",
    "rects1 = ax.bar(x - bar_width/2, data['下单水泥次数'], bar_width, label='水泥')\n",
    "rects2 = ax.bar(x + bar_width/2, data['下单矿粉次数'], bar_width, label='矿粉')\n",
    "\n",
    "# 添加标签和标题\n",
    "ax.set_xlabel('客户名称')\n",
    "ax.set_ylabel('购买次数')\n",
    "ax.set_title('各客户购买水泥与矿粉的情况')\n",
    "ax.set_xticks(x)\n",
    "ax.set_xticklabels(data['客户名称'])\n",
    "ax.legend()\n",
    "\n",
    "# 添加数据标签\n",
    "for rect in rects1:\n",
    "    height = rect.get_height()\n",
    "    ax.annotate('{}'.format(height),\n",
    "                xy=(rect.get_x() + rect.get_width() / 2, height),\n",
    "                xytext=(0, 3),  # 3 points vertical offset\n",
    "                textcoords=\"offset points\",\n",
    "                ha='center', va='bottom')\n",
    "\n",
    "for rect in rects2:\n",
    "    height = rect.get_height()\n",
    "    ax.annotate('{}'.format(height),\n",
    "                xy=(rect.get_x() + rect.get_width() / 2, height/2),\n",
    "                xytext=(0, 3),  # 3 points vertical offset\n",
    "                textcoords=\"offset points\",\n",
    "                ha='center', va='top')\n",
    "\n",
    "plt.xticks(rotation=-20)\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "02d6c4eb-fdb3-4314-84e5-e0319805a302",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## 3.业绩最好的销售经理 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 320,
   "id": "8025e536-8576-4c28-b714-aebdb98d4333",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "销售经理按销售次数进行降序排序： [('史丹', 6613), ('李登', 6136), ('张蕊', 4475), ('调度室', 4370), ('李庭辉', 3588), ('潘建峰', 2841), ('甄常', 2800), ('何义奎', 2541), (' 夏云峰', 2524), ('钱多多', 2457), ('周正望', 1829), ('肖翔', 1577), ('容文志', 272), ('管理员', 262), ('李雨舟', 135)]\n",
      "业绩王是： 史丹\n"
     ]
    }
   ],
   "source": [
    "sales_men_list = result['sales_name'].unique()\n",
    "sales_men = {}\n",
    "for i in sales_men_list:\n",
    "    str(i)\n",
    "    j = result['sales_name'].value_counts()[i]\n",
    "    sales_men[i] = j\n",
    "print('销售经理按销售次数进行降序排序：',sorted(sales_men.items(),key = lambda x:x[1],reverse = True))\n",
    "key_MAX = max(sales_men, key=sales_men.get)\n",
    "print('业绩王是：',key_MAX)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b510e3a-e7ff-4767-a645-7d9180747c32",
   "metadata": {},
   "source": [
    "## 4.预测今年水泥矿粉的销量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a295f636-163a-41bf-8f87-510c1a166813",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
